package com.nyist.server;

import javax.websocket.Session;
import javax.websocket.server.PathParam;

/**
 * 1.
 *
 * @ClassName WebSocketService
 * @Description
 * @Author xiaoyang
 * @Date 2023/06/18/15:04
 */
public interface WebSocketService {

    /**
     * 连接建立成功调用的方法
     */
    void onOpen(Session session
            , @PathParam("userId") String userId
            , @PathParam("uniqueKey") String uniqueKey
    );
    /**
     * 连接关闭调用的方法
     */
    void onClose();


    /**
     * 收到客户端消息后调用的方法
     *
     * @param message 客户端发送过来的消息
     */
    void onMessage(String message, Session session);

    /**
     * @param session
     * @param error
     */
    void onError(Session session, Throwable error);

    /**
     * 实现服务器主动推送
     */
    void sendMessage(String message);

    /**
     * 消息群发
     * */
    void sendMessageAll(String message,String FromuserId);

    /**
     * 点对点
     * */
    void sendMessageTo(String message, String TouserId);

}
